<?php
/**
 * response的接口定义.
 *
 * @author Qiong Wu <papa0924@gmail.com> 2010-11-7
 * @copyright ©2003-2103 phpwind.com
 * @license http://www.windframework.com
 *
 * @version $Id: IWindResponse.php 3533 2012-05-08 08:24:20Z yishuo $
 */
interface IWindResponse
{
    /**
     * 获得保存输出数据.
     *
     * @param string $var
     *
     * @return mixed
     */
    public function getData();

    /**
     * 设置保存输出数据.
     *
     * @param mixed  $data 待保存的输出数据
     * @param string $key  输出数据的key名称,默认为空
     */
    public function setData($data, $key = '');

    /**
     * 获得输出的编码方式.
     *
     * @return string
     */
    public function getCharset();

    /**
     * 设置输出的编码方式.
     *
     * @param string $_charset 编码方式
     */
    public function setCharset($_charset);

    /**
     * 设置响应内容.
     *
     * @param string $content 响应内容信息
     * @param string $name    相应内容片段名字,默认为null
     */
    public function setBody($content, $name = 'default');

    /**
     * 发送一个错误的响应信息.
     *
     * @param int    $status  错误码,默认为404
     * @param string $message 错误信息,默认为空
     */
    public function sendError($status = self::W_NOT_FOUND, $message = '');

    /**
     * 发送响应内容.
     */
    public function sendBody();

    /**
     * 发送响应头部信息.
     */
    public function sendHeaders();

    /**
     * 发送响应信息.
     *
     * 依次发送响应头和响应内容
     */
    public function sendResponse();
}
